## [1] "STORE_SUBGROUP_DATE_ID" "category" "group"
## [4] "TOTAL_SALES_" "QUANTITY_" "PRICE_"
## [7] "BASE_PRICE_" "INITIAL_TICKET_PRICE_" "COSTOS_"
## [10] "STORE_ID" "SUBGROUP" "DATE_ID"
## [13] "BRAND" "STORE_NAME" "ADDRESS1"
## [16] "ADDRESS2" "CITY" "STATE"
## [19] "ZIP" "OPENDATE" "CLOSEDATE"
## [22] "STORE_TYPE" "REGION" "DAY_OF_WEEK"
La empresa La Casa de Asterión es una cadena de negocios minoristas de artículos para el hogar, la cual cuenta con 15 tiendas en distintas regiones de Estados Unidos. Recientemente dicha empresa ha detectado una reducción en las ganancias y buscan evaluar y mejorar su estrategia de precios para aumentar el rendimiento.
Teniendo en cuenta que la fijación de precios es un factor clave para el rendimiento de cualquier negocio. Un precio demasiado alto puede reducir el volumen de ventas, mientras que uno demasiado bajo puede disminuir el margen de ganancia, incluso si la demanda aumenta. Encontrar el punto de equilibrio adecuado requiere no solo un análisis detallado de las ventas y de la elasticidad de la demanda, sino también la consideración de factores externos como la competencia, la estacionalidad y los cambios en las preferencias de los consumidores.
Se busca comprender a fondo la relación entre sus precios, la demanda y otros factores que puedan influir en su rendimiento, con el objetivo de implementar una estrategia de precios más eficiente y orientada a resultados.
Se trabajará con información proveniente de las transacciones realizadas en 9 cadenas de negocios minoristas, entre las que se encuentra nuestro cliente La casa de Asterion, en un periodo de 3 años, donde se podrá obtener información de cada uno de los negocios y diferentes características relacionadas al producto que se vende.
Aclaración: cuando se habla de transacción no refiere al evento completo de la compra, sino a la cantidad de productos iguales dentro de una compra.
A lo largo de este trabajo tendremos en cuenta 2 objetivos principales:
En base a la información prevista de las transacciones, se busca generar un modelo predictivo con el cual se pueda estimar de manera adecuada la demanda en pesos ($) para cada uno de los días en la semana posterior al fin de los datos (desde el 1/1/2024 al 7/1/2024) de los distintos subproductos, en cada una de las tiendas minoristas.
Como ya se mencionó anteriormente, la cadena Casa de Asterión presentó una disminución de las ganancias en el último tiempo. Por lo que se busca identificar, para cada subgrupo de productos, el precio óptimo que maximice la ganancia, equilibrando el ingreso por unidad vendida con el volumen total de ventas y de esta manera poder revertir la situación.
Fueron proporcionadas 6 bases de datos con distinta información relevante para la realización de este trabajo:
eci_transactionEs la base de datos principal en este trabajo, en ella se encuentra información referida a las transacciones realizadas desde el 1 de enero de 2021 hasta el 31 de diciembre de 2023, en las 157 tiendas minoristas presentes en el estudio (pertenecientes a las 9 cadenas ya mencionadas). Las variables aquí presentes son:
TRANSACTION_ID : id de la transacción
DATE : fecha de la transacción
STORE_ID : id de la tienda
SKU: número de referencia CCCGGSSXXX donde C es la
categoría, G el grupo, S subgrupo y X es el número secuencial del
producto
QUANTITY: cantidad de productos que se vendieron en
esa transacción.
PRICE: precio del producto.
TOTAL_SALES (PRICE x
QUANTITY): dinero que recibe el local en una
transacción.
SUBGROUP: subproducto.
STORE_SUBGROUP_DATE_ID: es el id del subproducto en
cierta tienda y en cierta fecha.
eci_storesContiene información particular de cada una de las distintas tiendas minoristas,presentando información relacionada a la ubicación y al tipo de tienda.En esta base de datos encontramos:
STORE_ID : id de la tienda.
BRAND : cadena a la que pertenece la
tienda.
STORE_NAME (generalmente formado por BRAND - CITY):
nombre de la tienda.
ADDRESS1 y ADDRESS2: información sobre
la dirección de la tienda.
CITY: ciudad de la tienda.
STATE : estado de la tienda.
ZIP : código postal de la tienda.
OPENDATE y CLOSEDATE : fecha de inicio
y de cierre de la tienda.
STORE_TYPE: tipo de tienda.
REGION: región de la tienda.
eci_stores_clusterEste archivo contiene información de las tiendas minoristas,
repitiendo las variables STORE_ID, BRAND y
STORE_NAME, y agrega una variable que agrupa las tiendas
por zona o región:
STORE_ID : id de la tienda.
BRAND : cadena a la que pertenece la
tienda.
STORE_NAME (generalmente formado por BRAND - CITY):
nombre de la tienda.
CLUSTER: zona o región de la tienda.
eci_product_masterContiene información más específica de los productos como el nombre, el precio inicial, el precio sugerido por el fabricante, los costos del mismo, entre otras:
SKU: número de referencia CCCGGSSXXX donde C es la
categoría, G el grupo, S subgrupo y X es el número secuencial del
producto
PRODUCT_NAME: nombre del producto.
CATEGORY: categoría del producto.
GROUP: grupo del producto.
SUBGROUP: subproducto.
BRAND: cadena a la que pertenece la tienda.
base_price: precio al que el negocio puso en venta
al producto en primera instancia.
initial_ticket_price: precio del producto sugerido
por el fabricante.
costos: costo del producto.
eci_product_groupsIdentifica productos que han estado en precio promocional por algún motivo, contiene las siguientes variables:
SKU: número de referencia CCCGGSSXXX donde C es la
categoría, G el grupo, S subgrupo y X es el número secuencial del
producto
PRODUCT_NAME: nombre del producto.
price_group_id: id de la promoción.
price_group_name: nombre completo de la
promoción.
group_type: tipo de promoción.
eci_customer_dataContiene información de 801923 clientes, identificando datos personales de los mismos e identificando a los que son socios de dichas cadenas:
client_id: id del cliente.
phone_number: número del cliente.
email_address: dirección de email del
cliente.
city: ciudad de residencia del cliente.
state: estado de residencia del cliente.
zip_code: codigo postal del lugar de residencia del
cliente.
education_level: nivel de educación del
cliente.
occupation: ocupación del cliente.
loyalty_member: identifica si el cliente es socio o
no de la cadena.
loyalty_number: número de socio del cliente en caso
de serlo.
loyalty_points: puntos de membresía del cliente
socio.
Antes de iniciar el análisis, fue necesario realizar una inspección exhaustiva de los datos. Este proceso permitió identificar aspectos relevantes vinculados al preprocesamiento, tales como la detección de valores atípicos, la presencia de datos faltantes y otras cuestiones que requerían tratamiento previo. Dichas cuestiones se enuncian a continuación:
eci_customer_data)Al analizar las variables disponibles en esta base, quedó evidenciado que no hay una variable que conecte la información aquí disponible con el resto de las bases. Es decir, se cuenta con la información de los clientes, pero no es posible identificar en que tienda compra cada uno, o que transacción realiza cada uno. Por este motivo no se utilizará esta información, al menos en este primer análisis.
Observando las variables cuantitativas de las bases de datos que se usarán inicialmente no se detectaron valores atípicos.
(Insertamos tabla con quartiles, minimo, media y maximo?)
Se realizó una inspección por cada una de las variables de interés y
en la base de datos eci_transaction se encontraron valores
faltantes en la variable QUANTITY, la cual como mencionamos
anteriormente puede calcularse como
TOTAL_SALES/PRICE, de esta manera se pudo
reconstruir el dato e imputar todos los valores faltantes de dicha
variable.
En la base de datos eci_stores, hay datos faltantes en
las variables ADDRESS2, CLOSEDATE y
STORE_TYPE. Para las variables ADDRESS2 y
CLOSEDATE puede que esto no sea un error en sí, sino que no
esten los datos debido a que la tienda no tiene una segunda dirección o
porque todavía no cerró respectivamente. Para la variable
STORE_TYPE encontramos 2 datos faltantes, en los locales
QuickBuy - Columbia y MarketExpress Lakewood Uptown, los cuales fueron
reemplazados por el valor Unknown, ya que no es posible saber
de que tipo de tienda se trata.
Al revisar la base de transacciones (eci_transaction) se
identificó que no existen registros asociados al subproducto
“Basketball”, a pesar de que este se encuentra incluido en la base de
productos (eci_product_master) y forma parte de los
subproductos a predecir en el primer objetivo. Una posible explicación
es que los SKU correspondientes a los subproductos de las categorías
“Basketball” y “Baseball” presentan coincidencias en su codificación
(por ejemplo, SPOTEBA001), lo que podría haber generado un error en el
proceso de carga de datos y derivado en la ausencia de registros para
“Basketball”.
Una alternativa para solucionar este problema fue realizar el
supuesto de que la demanda de ambos subproductos era similar, y en base
a esto realizar las correspondientes predicciones. Como no se cuenta con
la información de la demanda, ya que no podemos identificarlos entre las
transacciones, podemos evidenciar las similitudes en las variables
base_price, initial_ticket_price y
costos:
| subgroup | base_price_avg | initial_ticket_price_avg | costos_avg |
|---|---|---|---|
| Baseball | 91.95 | 109.11 | 54.75 |
| Basketball | 94.03 | 114.60 | 51.44 |
Se observan similitudes tanto en los precios iniciales promedio, como en los costos promedios para los productos de Basketball y Baseball.
Para el desarrollo del Objetivo 1, se aplicarán técnicas de Machine Learning con el propósito de entrenar los datos y estimar la demanda de los distintos subproductos. Asimismo, se llevará a cabo un procedimiento de estimación de precios correspondiente a la semana de referencia para la generación de pronósticos. Estos valores estimados se incorporarán como variables explicativas en el modelo, con el objetivo de predecir de manera adecuada la demanda en la semana posterior al fin de los datos.
Para la preparación de los datos, se realizaron diversos procesos de depuración y combinación de las bases disponibles, con el fin de obtener un conjunto único que permitiera entrenar el modelo de predicción de la demanda.
En primer lugar, a partir de la base eci_stores se
identificaron y excluyeron aquellas tiendas que habían cerrado antes de
la semana del 1 al 7 de enero de 2024, ya que no tendría sentido estimar
demanda para locales que ya no se encontraban operativos.
Posteriormente se combinaron las bases eci_stores y
eci_product_master con la base
eci_transactions. De esta forma, cada transacción no solo
contiene información sobre la venta realizada, sino también el nombre y
la categoría del producto, la tienda donde se comercializó y su región,
la franquicia a la que pertenece, entre otras características.
Sobre esta base consolidada, se generaron 3 nuevas variables
temporales a partir de la columna DATE, extrayendo el día,
mes y año de cada transacción.
Finalmente, las transacciones se agruparon por día, por subproducto y
por tienda (STORE_SUBGROUP_DATE_ID), con el propósito de
entrenar los datos de esa manera y asi poder cumplir el objetivo de
predecir la demanda desde el 1/1/2024 al 7/1/2024 de los distintos
subproductos, en cada una de las tiendas minoristas. También, como dato
adicional, esto hace que se reduzca el costo computacional que conlleva
entrenar los datos, debido a la reduccion de filas en la base que este
agrupamiento implica, pasando de trabajar con 19.004.759 de datos a una
base final con 5.137.958 de datos.
En síntesis, el proceso de preparación de datos permitió pasar de múltiples bases dispersas a un único conjunto de datos estructurado, listo para ser utilizado en el entrenamiento de los modelos predictivos.
Al querer estimar la demanda (TOTAL_SALES) de manera
adecuada, se plantea el análisis descriptivo buscando evidenciar que
variables entre las que se encuentran disponibles en nuestras bases
pueden influir en el comportamiento de la variable respuesta
mencionada.
Se cuenta con información de articulos pertenecientes a 73 subproductos distintos, e inicialmente se quiere evidenciar si hay diferencias en la demanda para los distintos subproductos.
## # A tibble: 2 × 3
## es_top total_ventas_2 pct
## <lgl> <dbl> <dbl>
## 1 FALSE 1067927710. 57.7
## 2 TRUE 782554966. 42.3
Claramente se observa que hay 9 subproductos que generaron mucha mayor demanda que el resto, estos productos son Headphones, Speakers, Wearables, Desktops, Smartphones, Home Audio, Tablets, Accesories y Laptops; acumulando un 42% de la demanda total.
Estos artículos tienen características muy similares, todos ellos corresponden a productos electrónicos vinculados principalmente a la informática, telecomunicaciones y entretenimiento audiovisual.
Otra variable que puede influir en la demanda de cada subproducto es la fecha en la que se produjo la transacción, para esto se mostrará la evolución de la demanda a través de los meses en los 3 años que abarca este estudio, y complementariamente mostraremos la demanda por día de la semana.
3 encuentran picos de ventas entre abril y mayo de 2022
otros 3 encuentran picos en julio de 2022
Se procede a analizar la demanda en las distintas regiones geográficas en las cuales pertenecen estas tiendas:
Se observa que los estados con mayor demanda monetaria se encuentran en la zona de la costa este de Estados Unidos, concentrandose en los estados de Nueva York, Florida, Georgia y Carolina del Sur. Pero este analisis inicial no necesariamente brinda una evidencia con respecto a que dichos estados influyen en las ventas de las tiendas, debido a que hay distinta cantidad de tiendas en cada uno de estos. A continuación para tratar este problema, se vuelve a realizar este gráfico pero calculando la demanda promedio de cada uno de estos estados:
Al realizar esta modificación, el panorama ya no es el mismo y se puede observar que los estados que mayor demanda promedio tienen se ubican en el suroeste y son los estados de Nuevo México y Arizona (contando con 2 y 5 tiendas respectivamente). Otra particularidad que no se evidenciaba en el otro gráfico, es que los estados con menor demanda promedio se encuentran todos en la región noroeste del país, lo que nos lleva a pensar que puede que esa sea una zona con menor consumo.
Se puede apreciar con claridad que las tiendas de tipo Street y Mall son las que mayores demanda presentan, con la particularidad que existen las mismas cantidades de tiendas de estos tipos (44 cada uno), y sin embargo las de tipo Street tuvieron una demanda de $48.194.937 mayor.
Al analizar los gráficos, se observa de manera lógica que una mayor cantidad de tiendas se asocia con un incremento en la demanda.
Se evidencia que la marca Essentials Plus es la que mayor demanda presenta, siendo también la marca con mayor cantidad de tiendas.
bla bla bla
calculo de la ganancia y bla bla bla